package nimbus.commands.base
{
	import nimbus.commands.base.ICommand;
	
	/**
	 * Commands implementing this interface automatically become elegible for undo/redo management 
	 * by the UndoRedoHistory controller.
	 * 
	 * @see nimbus.UndoRedoHistory
	 * @see nimbus.Controller#undo()
	 * @see nimbus.Controller#redo()
	 */
	public interface IUndoableCommand extends ICommand
	{
		/**
		 * Reverses the action performed by execute.
		 */
		function undo():void;
	}
}